/*
 * Copyright (c) 2022, kaans, <https://github.com/kaans>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#ifndef _FAL_CFG_H_
#define _FAL_CFG_H_
#include "sdkconfig.h"

// #define FAL_DEBUG 1
#define FAL_PART_HAS_TABLE_CFG
#define NOR_FLASH_DEV_NAME "norflash0"

// #define FAL_PART_TABLE_FLASH_DEV_NAME NOR_FLASH_DEV_NAME
// #define FAL_PART_TABLE_END_OFFSET      65536

/* ===================== Flash device Configuration ========================= */
extern const struct fal_flash_dev nor_flash0;

/* flash device table */
#define FAL_FLASH_DEV_TABLE \
    {                       \
        &nor_flash0,        \
    }
/* ====================== Partition Configuration ========================== */
#ifdef FAL_PART_HAS_TABLE_CFG
/* partition table 64K -> 12K  */
#define CONFIG_FLASHDB_FLASH_SIZE (64 * 1024)
#define CONFIG_FLASHDB_KVDB_EVENT_SIZE (16 * 1024)
#define FAL_PART_TABLE                                                                                                                                   \
    {                                                                                                                                                    \
        {FAL_PART_MAGIC_WORD, "event", NOR_FLASH_DEV_NAME, 0, CONFIG_FLASHDB_KVDB_EVENT_SIZE, 0},                                                        \
        {FAL_PART_MAGIC_WORD, "log", NOR_FLASH_DEV_NAME, CONFIG_FLASHDB_KVDB_EVENT_SIZE, CONFIG_FLASHDB_FLASH_SIZE - CONFIG_FLASHDB_KVDB_EVENT_SIZE, 0}, \
    }
#endif /* FAL_PART_HAS_TABLE_CFG */

#endif /* _FAL_CFG_H_ */
